#include "MenuVeiculo.h"

#include "ConstantesGlobais.h"
#include "Funcoes.h"
#include "Mensagens.h"
#include<iostream>
#include<conio.h>

using namespace std;
using namespace entregadepedidos::util::funcoes;
using namespace entregadepedidos::util::global;

namespace entregadepedidos{

	namespace entidades{
	
		namespace submenu{

		//Construtor
				
						MenuVeiculo::MenuVeiculo(const int &numeroItens): Menu(numeroItens){}
							
						MenuVeiculo::~MenuVeiculo(){}
						
						void MenuVeiculo::getOpcao() throw(MenuVeiculoException){
							char selectMenu;
							
							try{
							
							do{
							
							imprime();
							
							selectMenu=getch();
										
							switch(selectMenu){	
							
										case '1':
											Opcao1();
											break;
											
										case '2':		
											Opcao2();
											break;
											
										case '3':		
											break;
																									
										default: 
											
											cout << endl << Mensagens::GET_MENU_PRINCIPAL_OPCAO_INVALIDA();
											
											// Metodo para pausar o programa
											Funcoes::pausarPrograma();
										}
																			
									}while(selectMenu!='3');
							
							}catch(FuncoesException ex){
								throw MenuVeiculoException(ex.what(), ex.getDescricao());	
							}catch(MenuException ex){
								throw MenuVeiculoException(ex.what(), ex.getDescricao());
							}catch(...){
								throw MenuVeiculoException(ConstantesGlobais::GET_ERRO(),Mensagens::GET_MENU_PRINCIPAL_GETOPCAO_ERRO());
							}		
									
						}
						
						void MenuVeiculo::Opcao1()const throw(MenuVeiculoException){
							cout << endl << "teste menu1";
							// Metodo para pausar o programa
							Funcoes::pausarPrograma();		
						}
						
						void MenuVeiculo::Opcao2()const throw(MenuVeiculoException){
							cout << endl << "teste menu2";
							// Metodo para pausar o programa
							Funcoes::pausarPrograma();								
						}	

		}
		
	}
	
}
